using System;
using System.Xml;
using System.Xml.Serialization;
using System.Collections;

namespace G2007.CodeGen.Library.Data
{


	[Serializable()]
	[XmlInclude(typeof(ClassAttributes))]
	[XmlInclude(typeof(Data.HeaderInfo))]
	[XmlInclude(typeof(Data.DeleteArray))]
	public class Class : CGObject
	{
        public Class () : base () { }


        public Class ( string name , HeaderInfo hi , string[] data ,
            CGObject[] otherClasses , Enum[] enums, bool isComposite , string dbname, bool isNested )
            :
            base ( name , hi , data , otherClasses , enums, isComposite, dbname, isNested ) { }




		public override string ToString()
		{
			string t="";
			foreach(Data.ClassAttributes ca in this.classAttributes) 
			{
				t+=ca.Name + " " + ca.Type + 
					" (" + ca.CType.ToString() + ")\n";
			}
			return "Name: " + this.name + " Namespace:" + 
				this.hi.ProjectName + "\n" + t;
		}



		



	}
}
